aboutsummaryrefslogtreecommitdiff
path: root/src/routes/hololive/[[stream]]/+page.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-24 13:22:34 +0000
committerFuwn <[email protected]>2026-05-24 13:22:34 +0000
commit56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch)
treea620f908405fa48fd601580c5a48432831ec5c33 /src/routes/hololive/[[stream]]/+page.svelte
parentfix(layout): preserve list panel when clicking action buttons in summary (diff)
downloaddue.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz
due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip
refactor(locale): move hardcoded UI strings into english locale
Adds optional namespaces (common, errors, commandPalette, headTitle, notifications, schedule, events, home, reader, routes, badgePreview, badgeWall) and extends existing ones (settings.*, lists.*, tools.*, user.*, hololive.*) on the Locale interface. New fields are optional so japanese.ts can omit them; svelte-i18n's fallbackLocale handles the runtime miss. HeadTitle gains an optional routeKey prop for type-safe lookup. defaultActions becomes a factory so the command palette re-reads locale on language toggle. The existing JP feedback translation in routes/settings is preserved via japanese.ts. Out of scope (kept hardcoded): service-worker.ts, app.html, Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
Diffstat (limited to 'src/routes/hololive/[[stream]]/+page.svelte')
-rw-r--r--src/routes/hololive/[[stream]]/+page.svelte14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/routes/hololive/[[stream]]/+page.svelte b/src/routes/hololive/[[stream]]/+page.svelte
index 573c16aa..250ce22a 100644
--- a/src/routes/hololive/[[stream]]/+page.svelte
+++ b/src/routes/hololive/[[stream]]/+page.svelte
@@ -49,16 +49,16 @@ const getPinnedStreams = () => {
};
</script>
-<HeadTitle route="hololive Schedule" path="/hololive" />
+<HeadTitle routeKey="hololiveSchedule" path="/hololive" />
{#await schedulePromise}
- <Message message="Loading schedule ..." />
+ <Message message={$locale().hololive.loadingSchedule} />
<Skeleton grid={true} count={100} width="49%" height="16.25em" />
{:then scheduleResponse}
{#if scheduleResponse}
{#await scheduleResponse.text()}
- <Message message="Parsing schedule ..." />
+ <Message message={$locale().hololive.parsingSchedule} />
<Skeleton grid={true} count={100} width="49%" height="16.25em" />
{:then untypedSchedule}
@@ -68,17 +68,17 @@ const getPinnedStreams = () => {
{:catch}
<Message loader="ripple" slot>
{$locale().hololive.parseError}
- <a href={'#'} onclick={() => location.reload()}>Try again?</a>
+ <a href={'#'} onclick={() => location.reload()}>{$locale().hololive.tryAgainQuestion}</a>
</Message>
{/await}
{:else}
- <Message message="Loading schedule ..." />
+ <Message message={$locale().hololive.loadingSchedule} />
<Skeleton grid={true} count={100} width="49%" height="16.25em" />
{/if}
{:catch}
<Message loader="ripple" slot>
- {$locale().hololive.loadError} Please
- <a href={'#'} onclick={() => location.reload()}>try again</a> later.
+ {$locale().hololive.loadError} {$locale().hololive.pleasePrefix}
+ <a href={'#'} onclick={() => location.reload()}>{$locale().common?.tryAgain}</a> {$locale().hololive.laterSuffix}
</Message>
{/await}